package com.ys.other;

/**
 * 描述:
 *
 * 设计单列模式: 登记式/静态内部类实现方法
 * 保证一个类仅有一个实例，并提供一个访问它的全局访问点。
 *
 * 是否 Lazy 初始化：是
 *
 * 是否多线程安全：是
 *
 * 实现难度：一般
 *
 * @author CodeYang
 * @version 2021/1/14 14:45
 */
public class P1SingleMode {



    /**
     * 私有化构造函数,让其不能被new
     */
    private P1SingleMode() {

    }

    private  static  class  CreteInnerSingModel{
        private static final P1SingleMode OBJ = new P1SingleMode();

    }

    // 提高一个访问点,或者叫获得点
    public  static  P1SingleMode getInstance(){
        return CreteInnerSingModel.OBJ;
    }

}


class test{


    public static void main(String[] args) {
        P1SingleMode instance = P1SingleMode.getInstance();
        P1SingleMode instance2 = P1SingleMode.getInstance();

        System.out.println((instance == instance2 )+","+instance+",,,"+instance2);
    }

}
